package msgcenter

import (
	"context"
	"errors"
)

var (
	// 对消息操作时，消息处理过期
	ErrMessageTimeout = errors.New("message processing timeout")

	// 对Send消息进行Response
	ErrResponseToSend = errors.New("response to message of Send type")

	// 消息中心关闭
	ErrMessageCenterClosed = errors.New("message center closed")

	// 目标服务未找到
	ErrDestSrvNotFound = errors.New("destination service not found")

	// 不支持的响应数据类型
	ErrUnsupportResponseData = errors.New("unsupport response data type")
)

// 消息中心
// 负责将消息传递到指定服务
type MessageCenter interface {
	// 初始化
	Init(ctx context.Context)

	// 启动
	Start()

	// 停止
	Stop()

	// 状态获取
	Status() uint8
}
